Users often extract information from database systems using a query (a query is one species of request). Queries often employ “joins” to find related information in two or more database tables (a table is one species of relation).
Database systems typically include an optimizer which is tasked with finding the optimum strategy for executing a request. Typically, one part of that task is finding an optimum strategy for executing a join. Optimizers often use join costing statistics to find the optimum strategy for executing the join.
Determining join costing statistics can be challenging when tables are distributed among a number of data-storage facilities and/or partitions.